# 通过git的分支，获取项目的版本信息
macro(get_project_version MY_PROJECT_VERSION)   # 宏的开始
    find_package(Git QUIET)     # 查找Git，QUIET静默方式不报错
    if(GIT_FOUND)
      execute_process(          # 执行一个子进程
        COMMAND ${GIT_EXECUTABLE} symbolic-ref --short -q HEAD  # 命令
        OUTPUT_VARIABLE MY_PROJECT_VERSION                      # 输出字符串存入变量
        OUTPUT_STRIP_TRAILING_WHITESPACE                        # 删除字符串尾的换行符
        ERROR_QUIET                                             # 对执行错误静默
        WORKING_DIRECTORY  ${CMAKE_SOURCE_DIR}                  # 执行路径
      )
    else()
        set(MY_PROJECT_VERSION 1.0.0)
    endif()
endmacro()                      # 宏的结束